干货丨从0到1了解SLAM
来源: 速感科技   发布时间: 2020-01-14 18:45   2369 次浏览   大小:  16px  14px  12px
干货丨从0到1了解SLAM SLAM的定义和发展史、机器人视觉传感器的演进史、三维深度传感器的不同技术路线及差异比较、SLAM及vSLAM如何实现、vSLAM应用在机器人上存在的问题

干货丨从0到1了解SLAM


4月11日晚上8点,速感科技CTO张一茗在智东西旗下「机器人」社群针对《从0到1了解SLAM》这一主题,与大家分享了自己在SLAM领域的认识和理解。分享内容包括五个方面:SLAM的定义和发展史、机器人视觉传感器的演进史、三维深度传感器的不同技术路线及差异比较、SLAM及vSLAM如何实现、vSLAM应用在机器人上存在的问题。以下是分享内容:

SLAM的定义和发展史

SLAM全称simultaneous localization and mapping,字面可见分为两大部分:定位、构图。定位的场景千差万别,对精度的要求也越来越苛刻。与此同时,定位也是个细分市场,出于不同场景对于体积、成本、精度、更新频率需求的差异,衍生了多种多样的定位方式。

在1991年的时候,SLAM的开山鼻祖们使用了18个超声传感器,利用EKF设计了第一套针对移动机器人的SLAM系统。后来随着激光雷达的出现,系统能够更容易的识别2D平面的角点特征,雷达SLAM的实用性上升了一个级别。而后随着CPU算力的提升,图像的处理能力越来越强,基于单摄像头、多摄像头、深度摄像头的SLAM研究与应用如雨后春笋般冒出来。

基于视觉影像的SLAM系统体积小、功耗低、可靠性高,在提供准确定位的同时,也能够建立或稀疏或稠密的地图,给人无限遐想的空间。十多年来,学术界针对视觉SLAM的研究日新月异,创造了许多优秀的理论。然而到了今天大家也都发现,纯视觉的VSLAM依然有它的缺点,比如受光照条件影响大,高动态环境精度下降,对场景复杂度要求高等特点,以Visual-SLAM为基础的多传感器融合SLAM成为新的热点。

机器人视觉传感器的演进史

2012年美国军方提出了一个相当宏伟的概念,开展了在GPS服务被干扰、被阻断,即不能使用GPS服务背景下的高精度定位、导航与授时技术:“全源导航”(ASPN)技术研究,以期在未来对抗条件下的军事行动中保持、占据精确PNT(Position navigation time)能力的优势。希望建立一套算法和软硬件架构兼容10种以上的传感器。 尤其是最近几年,microPNT的概念也被军方炒的越来越火热。

目前的导航定位算法大多被迫在完备性与效率之间进行折中和选择。“全源导航”需要发展新的滤波算法,能够全面兼容各类导航算法,如高斯、非高斯统计算法,或线性、非线性测量模型算法等,同时,新的导航算法必须满足真实环境下实时运行的要求。新的导航算法应当能够处理平台运动和测量可用性之间产生的时变状态空间问题,能够对所有导航测量结果进行统计。因此,在执行任务时,新的导航算法应能够灵活地对传感器、敏感器,以及测量量的引入和去除进行调整,从而提供准确和可靠的导航解决方案。

除了2D/3D成像系统以外,他们采用了倾角罗盘,距离/伪距测距仪,气压计,温度传感器,方位角速率传感器,GPS,激光雷达,加速度计,陀螺仪,磁力计,回转罗盘,计时器,毫米波雷达以及其他雷达,1、2、3轴AOA/LOB/TDOA传感器,计步器,星敏感器,红外传感器,无线局域网(WiFi)/射频接收机,声学传感器等等传感器。也只有用上这些传感器,才有可能实现真正全天候、全场景、全平台的定位导航系统。

这是他们大概的架构,可想而知有多复杂。

三维深度传感器的不同技术路线及差异比较

对于机器人的VSLAM而言,视觉传感器在其中举重若轻。一个好的视觉传感器就是一个明亮的眼睛。按照维度的高低简单介绍如下:

传统面阵相机/多目被动式相机采用面阵CMOS作为核心元件,随着手机行业对于镜头的强劲需求,使得整个CMOS、镜头制造行业迅猛发展,低成本廉价的镜头成为轻而易举的事情。满足了机器人行业对于监控、目标识别与分析、跟踪与定位的需求。

机器人行业的兴起带火了很多摄像头公司,如果归类的话依然脱离不了以下几类:

对于单目结构光,激光投射器通过DOE投射出特征明显的散斑,被红外摄像头捕获,然后解算出深度信息。

然后受投射器功率的影响,单目结构光很难工作在室外。双目结构光则可以规避这个缺陷当然还有一些其他的结构光。

这个是hptg提供的pattern图案,他们设计的一体化投射器模组能够实现小体积低温漂移的点阵图案。他是由两幅十分规律的散斑组成,最后同时被红外相机获得,精度相对较高。

还有一种比较独特的方案,它采用mems微镜的方式,类似DLP原理,将激光器进行调频,通过微镜反射出去,并快速改变微镜姿态,进行行列扫描,实现结构光的投射。

ToF(time of flight)也是一种被炒的火热的深度获取方法,主要分为脉冲式和相位式两种,这是一种相位式tof的原理,通过采集四个采样点的相位,解算时间差,获得对应pixel的深度信息。

传感器发出经调制的近红外光,遇物体后反射,传感器通过计算光线发射和反射时间差或相位差,来换算被拍摄景物的距离,以产生深度信息。

相位法可以减轻背景光对于深度提取的影响,但是受这种四个采样点分时曝光的限制,它对于动态物体的效果要比脉冲式差一些。

脉冲式是一种更常见的tof测距方法,从传统的工业雷达,到现在炒的比较火的面振tof都大量存在它的踪影,除了以上结构光、tof和普通相机以外,还有一种有趣的摄像头叫eventcamera。

SLAM及vSLAM如何实现

SLAM算法在实现的时候主要要考虑以下4个方面:

1. 地图表示问题比如dense和sparse都是它的不同表达方式,这个需要根据实际场景需求去抉择。

2. 信息感知问题,需要考虑如何全面的感知这个环境,RGBD摄像头FOV通常比较小,但激光雷达比较大。

3. 数据关联问题,不同的sensor的数据类型、时间戳、坐标系表达方式各有不同,需要统一处理。

4. 定位与构图问题,就是指怎么实现位姿估计和建模,这里面涉及到很多数学问题,物理模型建立,状态估计和优化。

我们也做过一个类似dyson的方案,能够实现很低成本,小体积的机器人定位。

vslam里面还要考虑的有回环检测问题,探索问题(exploration),以及绑架问题(kidnapping)。

vSLAM在算法部分,对数学的基础要求比较高,对概率统计、最小二乘估计、随机梯度下降(或者高斯牛顿、LM)、线性系统建模与估计、非线性系统的概念和优化都得有较深的理解,同时也得有一个open的视野,熟练的编程能力,来实现效率更高的算法。

在团队配置上,更需要各种各样的人,算法工程师、嵌入式工程师、光学工程师、传感器工程师、算法优化工程师、结构工程师、机电工程师以及丰富的产品测试安排。

整个SLAM大概可以分为前端和后端,前端做配准,研究不同帧之间的变换关系。

首先提取每帧图像特征点,利用相邻帧图像,进行特征点匹配,然后利用RANSAC去除大噪声,然后进行ICP匹配,同时可以利用IMU提供的姿态信息进行滤波融。

后端则主要是研究前端出结果中累积误差的矫正,利用滤波理论(EKF、UKF、PF)、或者优化理论TORO、G2O进行树或者图的优化,最终得到最优的位姿估计。当然,其中还要考虑一些闭环检测问题。

vSLAM应用在机器人上存在的问题

vSLAM在机器人上的应用最难的就是产品化和成本上的考虑,好在机器人的vslam不需要特别高的实时性,也没有VRAR令人难受的眩晕效应,不需要将计算速率提的特别高,机器人行业的vSLAM是一个真正短期内看得见的爆发点。配合低频的visual解算,100ms内利用imu纯积分实现高频率的vslam姿态输出,基本上可以实现很低jitter的定位定姿。

当然这个行业还远没有达到成熟的阶段,比如依然没有合适的芯片,没有覆盖全场景全天候的解决方案,这也是整个slam行业要继续解决下去的问题。

(转自速感)


上一篇:没有了
下一篇:没有了
http://tongji.baidu.com/